import { IsNotEmpty } from "class-validator";
import { Column, CreateDateColumn, Entity, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm";

@Entity()
export class Post {
    /** 每个实体必须至少有一个主列 */
    @PrimaryGeneratedColumn()
    id: number;

    /** @CreateDateColumn 是一个特殊列，自动为实体插入日期。无需设置此列，该值将自动设置。 */
    @CreateDateColumn({
        type: 'timestamp',
        nullable: false,
        name: 'create_time',
        comment: '创建时间'
    })
    createTime: Date

    /** @UpdateDateColumn 是一个特殊列，在每次调用实体管理器或存储库的save时，自动更新实体日期。无需设置此列，该值将自动设置。 */
    @UpdateDateColumn({
        type: 'timestamp',
        nullable: false,
        name: 'update_time',
        comment: '更新时间',
    })
    updateTime: Date;

    @IsNotEmpty({
        message: '用户名不能为空',
    })
    @Column({ unique: false, nullable: true, comment: '用户名' })
    username: string;

    @IsNotEmpty({
        message: '邮箱不能为空',
    })
    @Column({ unique: false, nullable: true, comment: '邮箱' })
    email: string;
    @IsNotEmpty({
        message: '手机号不能为空',
    })
    @Column({ unique: false, nullable: true, comment: '手机号' })
    phone: string;

    @Column({ nullable: false, comment: '头像' })
    avatar: string;
    @IsNotEmpty({
        message: '密码不能为空',
    })
    @Column({ nullable: true, comment: '密码' })
    password: string;


}
